// 由于webpack基于node构建的，所以webpack配置文件中，node语法合法
var path=require('path')

// 在内存中，根据指定的模板页面生成一份内存中的首页，同时将打包好的bundle注入到页面底部
var htmlWebpackPlugin=require('html-webpack-plugin')


const VueLoaderPlugin = require('vue-loader/lib/plugin');

// 当以命令行形式运行webpack 或者webpack-dev-server的时候，读取此文件，根据这个对象进行打包构建
module.exports={
    entry:path.join(__dirname,'./src/main.js'),
    output:{
        path:path.join(__dirname,'./dist'),
        filename:'bundle.js'
    },
    plugins:[
        // 所有webpack插件的配置节点
        new htmlWebpackPlugin({
            template:path.join(__dirname,'./src/index.html'),
            filename:'index.html'//设置生成的页面名称
        }),
        new VueLoaderPlugin()
    ],
    module:{
        // 配置所有第三方loader模块
        rules:[
            {test:/\.css$/,use:['style-loader','css-loader']},
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},
            // 当图片大小大于或者等于给定值得时候，则不会被转为base64格式。如果图片大小小于这个值，则会被转为base64格式
            // {test:/\.(jpg||png||jpeg||gif||bmp)$/,use:'url-loader?limit=52451&name=[hash:8]-[name].[ext]'}//处理图片路径的
            {test:/\.(jpg||png||jpeg||gif||bmp)$/,use:'url-loader?limit=52451'},
            {test:/\.(ttf||eot||svg||woff||woff2)$/,use:'url-loader'},//处理字体文件的loader
            {test:/\.js$/,use:'babel-loader',exclude:/node_modules/},
            {test:/\.vue$/,use:'vue-loader'},//处理vue文件的loader
        ]
    }

}
